#pragma once
#include <iostream>
#include <iomanip>
#include <fstream>
#include <sstream>
#include <memory>
#include <array>
#include <vector>
#include <list>
#include <stack>
#include <queue>
#include <string>
#include <map>
#include <unordered_map>
#include <random>
#include <functional>
using namespace std;

namespace Course
{
	class create_data_file
	{
	private:
		std::default_random_engine           dre;
		std::uniform_int_distribution<int>   uid;
		std::normal_distribution<double>     nd;
	public:

		create_data_file()
		{
			uid = std::uniform_int_distribution<int>(0, 30000);
			nd = std::normal_distribution<double>(300000, 100000);
		}

		void create_integer_file(string filename, int size, int min, int max)
		{
			uid = std::uniform_int_distribution<int>(min, max);

			ofstream fout(filename);

			for (int i = 0; i < size; i++)
			{

				long l = (long)nd(dre);
				fout << l << endl;
			}

			fout.close();
		}

		~create_data_file()
		{
		}
	};

}
